'use strict';
/**
 * 莫凡服务端 controller demo 示例
 *
 * 调用的接口的规则：
 * 1. 在controller层禁止调用model层的任何方法，model层的方法必须在service层调用
 * 2. 因此对于所用调用后端接口的项目，应该在service层的根目录建立一个，属于此项目的service.js
 *
 */

const Controller = require('egg').Controller;


class login extends Controller {

	/**
	 * 登陆
	 *
	 * @param { password: boolean } 密码 必填
	 * @param { account: object } 账户 必填
	 *
	 * @returns { data: Object }返回值和token
	 */
	async token() {
		console.log("22222222222222222222222222222")
		const {
			ctx
		} = this;
		try {
			//参数验证
			const Joi = ctx.app.Joi;
			const schema = Joi.object().keys({
				password: Joi.string().required(),
				user: Joi.string().required(),
			});
			ctx.validate(schema, ctx.request.body);

			//业务处理
			const retObj = await ctx.service.loginService.login(ctx.request.body);
			ctx.body = retObj;
		} catch (e) {
			const resp = await ctx.helper.basicode(e.code || 8000, e);
			ctx.body = resp;
		}
	}

	async tokenCheck() {
		console.log("22222222222222222222222222222")
		const {
			ctx
		} = this;
		try {
			//参数验证

			//业务处理
			const retObj = await ctx.service.loginService.tokenCheck(ctx.request.body);
			ctx.body = retObj;
		} catch (e) {
			const resp = await ctx.helper.basicode(e.code || 8000, e);
			ctx.body = resp;
		}
	}

	


}

module.exports = login;
